package com.wlz.jvm;

/**
 * @author wlz
 * @date 2022-03-28  8:22 上午
 */
public class StringConstantPool {

    public static void main(String[] args) {
//        String s1 = new String("he") + new String("llo");
//        String s2 = s1.intern();
//
//        System.out.println(s1 == s2);


//        System.out.println("----------------------------------");
//
//        String s0 = "wlz";
//        String s1 = "wlz";
//        String s2 = "wl" + "z";
//        System.out.println(s0 == s1); // true
//        System.out.println(s0 == s2); //true

//        System.out.println("----------------------------------");
//
//        String s0 = "wlz";
//        String s1 = new String("wlz");
//        String s2 = "wl" + new String("z");
//        System.out.println(s0 == s1);  // false
//        System.out.println(s0 == s2);  // false
//        System.out.println(s1 == s2);  // false

        System.out.println("----------------------------------");

//        String a = "a1";
//        String b = "a" + 1;
//        System.out.println(a == b);  // true

//        String a = "wlz";
//        String b = "wl" + "z";
//        System.out.println(a == b); // true

//        String a = "a3.4";
//        String b = "a" + 3.4;
//        System.out.println(a == b); // true

//        String a = "ab";
//        String bb = "b";
//        String b = "a" + bb;
//        System.out.println(a == b); // false

//        String a = "ab";
//        final  String bb = "b";
//        String b = "a" + bb;
//        System.out.println(a == b);// true

//        String a = "ab";
//        final String bb = getBB();
//        String b = "a" + bb;
//        System.out.println(a == b); // false

//        String s = "a" + "b" + "c";
//        String a = "a";
//        String b = "b";
//        String c = "c";
//        String s1 = a + b + c;
//        System.out.println(s == s1); // false

        String s2 = new StringBuilder("计算机").append("技术").toString();
        System.out.println(s2 == s2.intern());  // true

        String str1 = new StringBuilder("ja").append("va").toString();
        System.out.println(str1 == str1.intern());

        String s1 = new String("test");
        System.out.println(s1 == s1.intern()); // false


    }

    private static String getBB() {
        return "b";
    }
}
